﻿#define _CRT_SECURE_NO_WARNINGS 1

#include"Date.h"
#include<iostream>
using namespace std;



//类和对象
//之前我们实现构造函数的时候，初始化成员变量主要是在函数体内中赋值，构造函数还有一种方式就是利用初始化列表
//初始化列表的使用方式：以一个冒号开始，接着是一个都好分隔数据成员列表
//每个成员列表后边跟着一个括号，在括号中放初始值或者表达式
//每个成员变量只会在初始化列表中出现一次，语法上理解为初始化列表可以认为是每一个成员变量初始化的地方
//引用类型成员变量、const 成员变量、没有默认构造的类类型的变量，必须放在初始化列表的位置进行初始化或者在声明的时候
//给缺省值，否则便会报错
//尽量使用初始化列表，初始化列表会将所有成员变量均走一遍，其底层就是按照声明的顺序
//因为当实例化对象的时候会开辟空间，其空间的分布就是依据声明


//太累了，明天写wwwww - 继续！

void TestDate()
{
	Date d1(2024, 11, 22);
	Date d2(2004, 11, 10);
	int ret = d2 - d1;
	cout << ret  <<' ' << d2 + 30 << ' '<< d1-50 << endl;
	cin >> d1 >> d2;
	cout << d1 << d2 << endl;

}

int main()
{
	TestDate();
	return 0;
}